package com.dm.webCrawler.common.utils.file;

import com.dm.webCrawler.project.mode.ZipDetialModel;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import java.io.File;

public class XmlDetailUtil {
    public static void createXML(ZipDetialModel model, String outFile) throws JAXBException {
        File file = new File(outFile);
        JAXBContext jc = null;
            //根据Person类生成上下文对象
            jc = JAXBContext.newInstance(ZipDetialModel.class);

            //从上下文中获取Marshaller对象，用作将bean编组(转换)为xml
            Marshaller ma = jc.createMarshaller();
            //以下是为生成xml做的一些配置.
            //格式化输出，即按标签自动换行，否则就是一行输出
            ma.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
            //设置编码（默认编码就是utf-8）
            ma.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
            //是否省略xml头信息，默认不省略（false）
            ma.setProperty(Marshaller.JAXB_FRAGMENT, false);
            //生成xml
            ma.marshal(model, file);
    }
}
